package br.com.vti.sisp_sicrim.antigo.controller.relatorios;

import java.io.FileNotFoundException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import net.sf.jasperreports.engine.JRException;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.interceptor.download.InputStreamDownload;
import br.com.vti.sisp_sicrim.antigo.model.SicCadastro;
import br.com.vti.sisp_sicrim.antigo.util.Relatorios;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe responsavel por encapsular o tratamento e as consistencias da tela Scrpra01Report
 * 
 * @author Incode - Data: mai/2014
 * 
 */
public class Scrpra01Report {
	private String nomeClasse;
	private int dataCorrente;
	private String texto3;
	private String id;
	private String im;
	private String ia;
	private String nomeI;
	private String nomeR;
	private int aaaammdd;
	private String apelidoAlcunhas; // DB
	private String anudir; // DB
	private String anuesq; // DB
	private String meddir; // DB
	private String medesq; // DB
	private String mindir; // DB
	private String minesq; // DB
	private String inddir; // DB
	private String indesq; // DB
	private String polesq; // DB
	private String poldir; // DB
	private Long registroEstadualGeral; // DB
	private String nomeMae; // DB
	private String naturalidade; // DB
	private String nomeDelegacia; // DB
	private String municipioRegGeral; // DB
	private String ufRegEstadualGeral; // DB
	private Integer dataAtuacao; // DB
	private Long numeroAutos; // DB
	private String nomeAnterior; // DB
	private Long registroFederalCi; // DB
	private String nomePai; // DB
	private Integer sexo; // DB
	private String documApresentado; // DB
	private Long cpf; // DB
	private String ufNaturalidade; // DB
	private Long numeDocumApresent; // DB
	private String orgaoExpUf; // DB
	private String profissao; // DB
	private Integer grauInstrucao; // DB
	private String avRua; // DB
	private int numero; // DB
	private String bairro; // DB
	private Integer municipio; // DB
	private String estado; // DB
	private String complemento; // DB
	private Integer cep; // DB
	private Integer altura; // DB
	private Integer estatoCivil; // DB
	private Integer cutis; // DB
	private Integer corCabelos; // DB
	private Integer tipoCabelos; // DB
	private Integer corOlhos; // DB
	private String marcaPartCicatTatuag; // DB
	private String nomeVitima; // DB
	private String motivoPrisaoLei; // DB
	public String nome;
	public String idma;
	private String[] jObservacoez = new String[151];
	private String horaCorrente;
	private Result result;
	private Sessao sessao;
	private Relatorios report;
	// Classes views
	SicCadastro criminalView = new SicCadastro(); // Classes includes

	public Scrpra01Report() throws JRException {
		inicializar();
	}

	public Scrpra01Report(Sessao sessao) throws JRException {
		this.sessao = sessao;
		inicializar();
	}

	public void inicializar() throws JRException {
		report = new Relatorios();
		dataCorrente = 0;
		texto3 = "";
		jObservacoez = new String[151];
		aaaammdd = 0;
		nomeClasse = this.getClass().getSimpleName(); // *PROGRAM
		horaCorrente = new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()); // *TIMX
		report.setNumeroRel(1, "D");
		{
			report.setNumeroLinhaRel(1, 3);
			{
				report.adicionaCampo(1, 41, "lit_1_41", "C", "", "*** GOVERNO DO ESTADO DO MARANHAO        ");
				report.adicionaCampo(15, 11, "lit_15_11", "C", "", "DT. EMISS :");
				report.adicionaCampo(27, 8, "dataCorrente", "N", "99/99/9999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(2, 3);
			{
				report.adicionaCampo(1, 44, "lit_1_44", "C", "", "*** SECREATRIA DE ESTADO DA SEGURAN�A CIDAD�");
				report.adicionaCampo(15, 11, "lit_15_11", "C", "", "HORA EMISS:");
				report.adicionaCampo(27, 8, "horaCorrente", "S", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(3, 3);
			{
				report.adicionaCampo(1, 43, "lit_1_43", "C", "", "*** INSTITUTO DE IDENTIFICACAO  / *** SEATI");
				report.adicionaCampo(15, 11, "lit_15_11", "C", "", "PROGRAMA  :");
				report.adicionaCampo(27, 8, "nomeClasse", "S", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(5, 2);
			{
				report.adicionaCampo(5, 46, "lit_5_46", "C", "", "FOLHA DE ANTECEDENTES CRIMINAIS,  REGISTRO N.:");
				report.adicionaCampo(52, 13, "Registroestadualgeral", "N", "ZZZZZZ99999", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(6, 1);
			{
				report.adicionaCampo(5, 59, "lit_5_59", "C", "", "----- -- ------------ ---------   -----------   -----------");
				report.setFimLinhaRel();
			}
		}
		report.setNumeroRel(2, "D");
		{
			report.setNumeroLinhaRel(2, 8);
			{
				report.adicionaCampo(3, 24, "lit_3_24", "C", "", "EM ATENCAO AO SEU OFICIO");
				report.adicionaCampo(28, 23, "Texto3", "X", "", "");
				report.adicionaCampo(52, 12, "lit_52_12", "C", "", ", DATADO DE ");
				report.adicionaCampo(65, 2, "Id", "N", "9999", "");
				report.adicionaCampo(68, 1, "lit_68_1", "C", "", "/");
				report.adicionaCampo(70, 2, "Im", "N", "9999", "");
				report.adicionaCampo(73, 1, "lit_73_1", "C", "", "/");
				report.adicionaCampo(75, 4, "Ia", "N", "99", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(3, 2);
			{
				report.adicionaCampo(1, 29, "lit_1_29", "C", "", "INFORMAMOS QUE O INDICIADO(A)");
				report.adicionaCampo(31, 47, "NomeI", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(4, 3);
			{
				report.adicionaCampo(1, 13, "NomeR", "X", "", "");
				report.adicionaCampo(15, 6, "lit_15_6", "C", "", " VULGO");
				report.adicionaCampo(22, 30, "Apelidoalcunhas", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(5, 12);
			{
				report.adicionaCampo(1, 4, "lit_1_4", "C", "", "F.D:");
				report.adicionaCampo(6, 7, "Poldir", "X", "", "");
				report.adicionaCampo(1, 7, "Inddir", "X", "", "");
				report.adicionaCampo(1, 7, "Meddir", "X", "", "");
				report.adicionaCampo(1, 7, "Anudir", "X", "", "");
				report.adicionaCampo(1, 7, "Mindir", "X", "", "");
				report.adicionaCampo(1, 7, "Polesq", "X", "", "");
				report.adicionaCampo(1, 7, "Indesq", "X", "", "");
				report.adicionaCampo(1, 7, "Medesq", "X", "", "");
				report.adicionaCampo(1, 7, "Anuesq", "X", "", "");
				report.adicionaCampo(1, 7, "Minesq", "X", "", "");
				report.adicionaCampo(9, 1, "lit_9_1", "C", "", ".");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(6, 7);
			{
				report.adicionaCampo(3, 11, "lit_3_11", "C", "", "FILHO(A) DE");
				report.adicionaCampo(15, 60, "Nomemae", "X", "", "");
				report.adicionaCampo(76, 10, "lit_76_10", "C", "", "NASCIDO EM");
				report.adicionaCampo(87, 8, "Aaaammdd", "N", "99/99/9999", "");
				report.adicionaCampo(96, 10, "lit_96_10", "C", "", ", NATURAL ");
				report.adicionaCampo(107, 35, "Naturalidade", "X", "", "");
				report.adicionaCampo(143, 1, "lit_143_1", "C", "", ",");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(8, 2);
			{
				report.adicionaCampo(1, 43, "lit_1_43", "C", "", "SENDO ESTE PROCESSO/INQUERITO INSTAURADO NA");
				report.adicionaCampo(45, 30, "Nomedelegacia", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(9, 6);
			{
				report.adicionaCampo(1, 15, "lit_1_15", "C", "", "NO MUNICIPIO DE");
				report.adicionaCampo(17, 30, "Municipioreggeral", "X", "", "");
				report.adicionaCampo(48, 1, "lit_48_1", "C", "", "-");
				report.adicionaCampo(50, 2, "Ufregestadualgeral", "X", "", "");
				report.adicionaCampo(53, 1, "lit_53_1", "C", "", ",");
				report.adicionaCampo(55, 16, "lit_55_16", "C", "", "SENDO AUTUADO EM");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(10, 5);
			{
				report.adicionaCampo(1, 8, "Dataatuacao", "N", "", "");
				report.adicionaCampo(10, 1, "lit_10_1", "C", "", ",");
				report.adicionaCampo(12, 13, "lit_12_13", "C", "", "SOB O N. AUTO");
				report.adicionaCampo(26, 13, "Numeroautos", "N", "", "");
				report.adicionaCampo(40, 1, "lit_40_1", "C", "", ".");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(11, 1);
			{
				report.adicionaCampo(1, 1, "lit_1_1", "C", "", " ");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(12, 12);
			{
				report.adicionaCampo(3, 20, "lit_3_20", "C", "", "POSSUI IDENTIDADE N.");
				report.adicionaCampo(24, 13, "Registrofederalci", "N", "", "");
				report.adicionaCampo(1, 17, "lit_1_17", "C", "", "COM NOME ANTERIOR");
				report.adicionaCampo(19, 2, "lit_19_2", "C", "", "DE");
				report.adicionaCampo(22, 60, "Nomeanterior", "X", "", "");
				report.adicionaCampo(83, 1, "lit_83_1", "C", "", ",");
				report.adicionaCampo(85, 9, "lit_85_9", "C", "", "PAI O SR.");
				report.adicionaCampo(95, 60, "Nomepai", "X", "", "");
				report.adicionaCampo(156, 1, "lit_156_1", "C", "", ",");
				report.adicionaCampo(158, 4, "lit_158_4", "C", "", "SEXO");
				report.adicionaCampo(163, 1, "Sexo", "N", "", "");
				report.adicionaCampo(165, 1, "lit_165_1", "C", "", ",");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(13, 9);
			{
				report.adicionaCampo(1, 16, "lit_1_16", "C", "", "INSCRITO NO CPF.");
				report.adicionaCampo(18, 11, "Cpf", "N", "", "");
				report.adicionaCampo(30, 1, "lit_30_1", "C", "", ",");
				report.adicionaCampo(32, 10, "lit_32_10", "C", "", "NASCIDO EM");
				report.adicionaCampo(43, 2, "Ufnaturalidade", "X", "", "");
				report.adicionaCampo(46, 1, "lit_46_1", "C", "", ",");
				report.adicionaCampo(48, 24, "lit_48_24", "C", "", "APRESENTANDO O DOCUMENTO");
				report.adicionaCampo(1, 30, "Documapresentado", "X", "20X", "");
				report.adicionaCampo(32, 1, "lit_32_1", "C", "", ",");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(14, 5);
			{
				report.adicionaCampo(1, 8, "lit_1_8", "C", "", "NUMERO -");
				report.adicionaCampo(10, 13, "Numedocumapresent", "N", "", "");
				report.adicionaCampo(24, 1, "lit_24_1", "C", "", "-");
				report.adicionaCampo(26, 15, "Orgaoexpuf", "X", "", "");
				report.adicionaCampo(42, 1, "lit_42_1", "C", "", ",");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(15, 6);
			{
				report.adicionaCampo(1, 21, "lit_1_21", "C", "", "TENDO COMO PROFISSAO,");
				report.adicionaCampo(23, 30, "Profissao", "X", "", "");
				report.adicionaCampo(54, 1, "lit_54_1", "C", "", ",");
				report.adicionaCampo(56, 15, "lit_56_15", "C", "", "INSTRUCAO ATE O");
				report.adicionaCampo(72, 1, "Grauinstrucao", "N", "", "");
				report.adicionaCampo(74, 1, "lit_74_1", "C", "", ".");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(16, 1);
			{
				report.adicionaCampo(1, 1, "lit_1_1", "C", "", " ");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(17, 16);
			{
				report.adicionaCampo(3, 23, "lit_3_23", "C", "", "ENDERECO DE RESIDENCIA:");
				report.adicionaCampo(27, 30, "Avrua", "X", "", "");
				report.adicionaCampo(58, 1, "lit_58_1", "C", "", ",");
				report.adicionaCampo(60, 2, "lit_60_2", "C", "", "N.");
				report.adicionaCampo(63, 11, "Numero", "N", "", "");
				report.adicionaCampo(75, 1, "lit_75_1", "C", "", ",");
				report.adicionaCampo(77, 20, "Bairro", "X", "", "");
				report.adicionaCampo(98, 2, "lit_98_2", "C", "", "- ");
				report.adicionaCampo(101, 4, "Municipio", "N", "", "");
				report.adicionaCampo(106, 2, "lit_106_2", "C", "", "- ");
				report.adicionaCampo(109, 2, "Estado", "X", "", "");
				report.adicionaCampo(112, 1, "lit_112_1", "C", "", ",");
				report.adicionaCampo(114, 20, "Complemento", "X", "", "");
				report.adicionaCampo(135, 5, "lit_135_5", "C", "", "CEP -");
				report.adicionaCampo(141, 8, "Cep", "N", "", "");
				report.adicionaCampo(150, 1, "lit_150_1", "C", "", ".");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(18, 1);
			{
				report.adicionaCampo(1, 1, "lit_1_1", "C", "", " ");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(19, 14);
			{
				report.adicionaCampo(1, 8, "lit_1_8", "C", "", "ALTURA -");
				report.adicionaCampo(10, 1, "Altura", "N", "", "");
				report.adicionaCampo(12, 1, "lit_12_1", "C", "", ",");
				report.adicionaCampo(14, 14, "lit_14_14", "C", "", "ESTADO CIVIL -");
				report.adicionaCampo(29, 1, "Estatocivil", "N", "", "");
				report.adicionaCampo(31, 1, "lit_31_1", "C", "", ",");
				report.adicionaCampo(33, 7, "lit_33_7", "C", "", "CUTIS -");
				report.adicionaCampo(41, 1, "Cutis", "N", "", "");
				report.adicionaCampo(43, 1, "lit_43_1", "C", "", ",");
				report.adicionaCampo(45, 13, "lit_45_13", "C", "", "COR CABELOS -");
				report.adicionaCampo(59, 1, "Corcabelos", "N", "", "");
				report.adicionaCampo(61, 1, "lit_61_1", "C", "", ",");
				report.adicionaCampo(63, 14, "lit_63_14", "C", "", "TIPO CABELOS -");
				report.adicionaCampo(78, 1, "Tipocabelos", "N", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(20, 6);
			{
				report.adicionaCampo(1, 11, "lit_1_11", "C", "", "COR OLHOS -");
				report.adicionaCampo(13, 1, "Corolhos", "N", "", "");
				report.adicionaCampo(15, 1, "lit_15_1", "C", "", ",");
				report.adicionaCampo(17, 11, "lit_17_11", "C", "", "TATU/MARC -");
				report.adicionaCampo(29, 60, "Marcapartcicattatuag", "X", "", "");
				report.adicionaCampo(90, 1, "lit_90_1", "C", "", ".");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(21, 2);
			{
				report.adicionaCampo(1, 12, "lit_1_12", "C", "", "NOME VITIMA:");
				report.adicionaCampo(14, 60, "Nomevitima", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(22, 3);
			{
				report.adicionaCampo(1, 5, "lit_1_5", "C", "", "LEI -");
				report.adicionaCampo(7, 60, "Motivoprisaolei", "X", "", "");
				report.adicionaCampo(68, 1, "lit_68_1", "C", "", ".");
				report.setFimLinhaRel();
			}
		}
		report.setNumeroRel(3, "D");
		{
			report.setNumeroLinhaRel(2, 1);
			{
				report.adicionaCampo(1, 69, "lit_1_69", "C", "", "CONSTA NO REGISTRO CRIMINAL DESTE INSTITUTO AS SEGUINTES OCORRENCIAS:");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(4, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_1", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(5, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_2", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(6, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_3", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(7, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_4", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(8, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_5", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(9, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_6", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(10, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_7", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(11, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_8", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(12, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_9", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(13, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_10", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(14, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_12", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(15, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_13", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(16, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_14", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(17, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_15", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(18, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_16", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(19, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_17", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(20, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_18", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(21, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_19", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(22, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_21", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(23, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_22", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(24, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_23", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(25, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_24", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(26, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_25", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(27, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_26", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(28, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_27", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(29, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_28", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(30, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_29", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(31, 1);
			{
				report.adicionaCampo(3, 77, "Jobservacoez_30", "X", "", "");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(33, 1);
			{
				report.adicionaCampo(3, 15, "lit_3_15", "C", "", "ATENCIOSAMENTE,");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(36, 1);
			{
				report.adicionaCampo(3, 40, "lit_3_40", "C", "", "SAO LUIS, _____ DE ________ DE ________ ");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(39, 2);
			{
				report.adicionaCampo(3, 37, "lit_3_37", "C", "", "____________________________________ ");
				report.adicionaCampo(8, 37, "lit_8_37", "C", "", "____________________________________ ");
				report.setFimLinhaRel();
			}
			report.setNumeroLinhaRel(40, 2);
			{
				report.adicionaCampo(3, 38, "lit_3_38", "C", "", " DIR. DO INSTITUTO DE IDENTIFICACAO   ");
				report.adicionaCampo(7, 37, "lit_7_37", "C", "", "      ENC. DA DIVISAO CRIMINAL       ");
				report.setFimLinhaRel();
			}
		}
	}

	public boolean validar() {
		// validar os campos recebidos da tela
		return true;
	}

	public int getDataCorrente() {
		return dataCorrente;
	}

	public void setDataCorrente(int dataCorrente) throws ParseException {
		this.dataCorrente = dataCorrente;
		report.adicionaValorReport("dataCorrente", dataCorrente);
	}

	public String getTexto3() {
		return texto3;
	}

	public void setTexto3(String texto3) throws ParseException {
		this.texto3 = texto3;
		report.adicionaValorReport("Texto3", texto3);
	}

	public String getId() {
		return id;
	}

	public void setId(String id) throws ParseException {
		this.id = id;
		report.adicionaValorReport("Id", id);
	}

	public String getIm() {
		return im;
	}

	public void setIm(String im) throws ParseException {
		this.im = im;
		report.adicionaValorReport("Im", im);
	}

	public String getIa() {
		return ia;
	}

	public void setIa(String ia) throws ParseException {
		this.ia = ia;
		report.adicionaValorReport("Ia", ia);
	}

	public String getNomeI() {
		return nomeI;
	}

	public void setNomeI(String nomeI) throws ParseException {
		this.nomeI = nomeI;
		report.adicionaValorReport("NomeI", nomeI);
	}

	public String getNomeR() {
		return nomeR;
	}

	public void setNomeR(String nomeR) throws ParseException {
		this.nomeR = nomeR;
		report.adicionaValorReport("NomeR", nomeR);
	}

	public int getAaaammdd() {
		return aaaammdd;
	}

	public void setAaaammdd(int aaaammdd) throws ParseException {
		this.aaaammdd = aaaammdd;
		report.adicionaValorReport("Aaaammdd", aaaammdd);
	}

	public String[] getJobservacoez() {
		return jObservacoez;
	}

	public void setJobservacoez(String[] jObservacoez) throws ParseException {
		this.jObservacoez = jObservacoez;
		report.adicionaValorReport("Jobservacoez", jObservacoez);
	}

	public String getJobservacoez(int index) {
		return jObservacoez[index];
	}

	public void setJobservacoez(int index, String jObservacoez) throws ParseException {
		this.jObservacoez[index] = jObservacoez;
		// report.adicionaValorReport("Jobservacoez"+"["+String.valueOf(index)+"]", jObservacoez);
		report.adicionaValorReport("Jobservacoez_" + String.valueOf(index), jObservacoez);
	} // /

	public String getNome() {
		return this.nomeI + this.nomeR;
	}

	public void setNome(String nome) throws ParseException {
		this.nome = nome;
		this.nomeI = UtilBean.subStr(nome, 0, 47);
		report.adicionaValorReport("NomeI", UtilBean.subStr(nome, 0, 47));
		this.nomeR = UtilBean.subStr(nome, 47, 13);
		report.adicionaValorReport("NomeR", UtilBean.subStr(nome, 47, 13));
	} // /

	public String getIdma() {
		return this.id + this.im + this.ia;
	}

	public void setIdma(String idma) throws ParseException {
		this.idma = idma;
		this.id = UtilBean.subStr(idma, 0, 2);
		report.adicionaValorReport("Id", UtilBean.subStr(idma, 0, 2));
		this.im = UtilBean.subStr(idma, 2, 2);
		report.adicionaValorReport("Im", UtilBean.subStr(idma, 2, 2));
		this.ia = UtilBean.subStr(idma, 4, 4);
		report.adicionaValorReport("Ia", UtilBean.subStr(idma, 4, 4));
	}

	public String getNomeClasse() {
		return nomeClasse;
	}

	public void setNomeClasse(String nomeClasse) throws ParseException {
		this.nomeClasse = nomeClasse;
		report.adicionaValorReport("nomeClasse", nomeClasse);
	}

	public String getHoraCorrente() {
		return horaCorrente;
	}

	public void setHoraCorrente(String horaCorrente) throws ParseException {
		this.horaCorrente = horaCorrente;
		report.adicionaValorReport("horaCorrente", horaCorrente);
	}

	public void setPageSize(int pagesize) throws JRException {
		report.setPageSize(pagesize);
	}

	public void setPageLine(int pageline) throws JRException {
		report.setPageLine(pageline);
	}

	public void setLineSize(int linesize) {
		report.setLineSize(linesize);
	}

	public int getPageSize() {
		return report.getPageSize();
	}

	public int getPageLine() {
		return report.getPageLine();
	}

	public void saltaLinhas(int qtdLinhas) throws ParseException, JRException {
		report.saltaLinhas(qtdLinhas);
	}

	public void gravaRelatorio(int nroRel) throws ParseException, JRException {
		report.gravaRelatorio(report, nroRel, false);
	}

	public InputStreamDownload imprimir() throws FileNotFoundException, JRException {
		return report.imprimir();
	}

	public String getApelidoAlcunhas() {
		return apelidoAlcunhas;
	}

	public void setApelidoAlcunhas(String apelidoAlcunhas) throws ParseException {
		this.apelidoAlcunhas = apelidoAlcunhas;
		report.adicionaValorReport("apelidoAlcunhas", apelidoAlcunhas);
	}

	public String getAnudir() {
		return anudir;
	}

	public void setAnudir(String anudir) throws ParseException {
		this.anudir = anudir;
		report.adicionaValorReport("apelidoAlcunhas", apelidoAlcunhas);
	}

	public String getAnuesq() {
		return anuesq;
	}

	public void setAnuesq(String anuesq) throws ParseException {
		this.anuesq = anuesq;
		report.adicionaValorReport("anuesq", anuesq);
	}

	public String getMeddir() {
		return meddir;
	}

	public void setMeddir(String meddir) throws ParseException {
		this.meddir = meddir;
		report.adicionaValorReport("meddir", meddir);
	}

	public String getMedesq() {
		return medesq;
	}

	public void setMedesq(String medesq) throws ParseException {
		this.medesq = medesq;
		report.adicionaValorReport("medesq", medesq);
	}

	public String getMindir() {
		return mindir;
	}

	public void setMindir(String mindir) throws ParseException {
		this.mindir = mindir;
		report.adicionaValorReport("mindir", mindir);
	}

	public String getMinesq() {
		return minesq;
	}

	public void setMinesq(String minesq) throws ParseException {
		this.minesq = minesq;
		report.adicionaValorReport("minesq", minesq);
	}

	public String getInddir() {
		return inddir;
	}

	public void setInddir(String inddir) throws ParseException {
		this.inddir = inddir;
		report.adicionaValorReport("inddir", inddir);
	}

	public String getIndesq() {
		return indesq;
	}

	public void setIndesq(String indesq) throws ParseException {
		this.indesq = indesq;
		report.adicionaValorReport("indesq", indesq);
	}

	public String getPolesq() {
		return polesq;
	}

	public void setPolesq(String polesq) throws ParseException {
		this.polesq = polesq;
		report.adicionaValorReport("polesq", polesq);
	}

	public String getPoldir() {
		return poldir;
	}

	public void setPoldir(String poldir) throws ParseException {
		this.poldir = poldir;
		report.adicionaValorReport("poldir", poldir);
	}

	public Long getRegistroEstadualGeral() {
		return registroEstadualGeral;
	}

	public void setRegistroEstadualGeral(Long registroEstadualGeral) throws ParseException {
		this.registroEstadualGeral = registroEstadualGeral;
		report.adicionaValorReport("registroEstadualGeral", registroEstadualGeral);
	}

	public String getNomeMae() {
		return nomeMae;
	}

	public void setNomeMae(String nomeMae) throws ParseException {
		this.nomeMae = nomeMae;
		report.adicionaValorReport("nomeMae", nomeMae);
	}

	public String getNaturalidade() {
		return naturalidade;
	}

	public void setNaturalidade(String naturalidade) throws ParseException {
		this.naturalidade = naturalidade;
		report.adicionaValorReport("naturalidade", naturalidade);
	}

	public String getNomeDelegacia() {
		return nomeDelegacia;
	}

	public void setNomeDelegacia(String nomeDelegacia) throws ParseException {
		this.nomeDelegacia = nomeDelegacia;
		report.adicionaValorReport("nomeDelegacia", nomeDelegacia);
	}

	public String getMunicipioRegGeral() {
		return municipioRegGeral;
	}

	public void setMunicipioRegGeral(String municipioRegGeral) throws ParseException {
		this.municipioRegGeral = municipioRegGeral;
		report.adicionaValorReport("municipioRegGeral", municipioRegGeral);
	}

	public String getUfRegEstadualGeral() {
		return ufRegEstadualGeral;
	}

	public void setUfRegEstadualGeral(String ufRegEstadualGeral) throws ParseException {
		this.ufRegEstadualGeral = ufRegEstadualGeral;
		report.adicionaValorReport("ufRegEstadualGeral", ufRegEstadualGeral);
	}

	public Integer getDataAtuacao() {
		return dataAtuacao;
	}

	public void setDataAtuacao(Integer dataAtuacao) throws ParseException {
		this.dataAtuacao = dataAtuacao;
		report.adicionaValorReport("dataAtuacao", dataAtuacao);
	}

	public Long getNumeroAutos() {
		return numeroAutos;
	}

	public void setNumeroAutos(Long numeroAutos) throws ParseException {
		this.numeroAutos = numeroAutos;
		report.adicionaValorReport("numeroAutos", numeroAutos);
	}

	public String getNomeAnterior() {
		return nomeAnterior;
	}

	public void setNomeAnterior(String nomeAnterior) throws ParseException {
		this.nomeAnterior = nomeAnterior;
		report.adicionaValorReport("nomeAnterior", nomeAnterior);
	}

	public Long getRegistroFederalCi() {
		return registroFederalCi;
	}

	public void setRegistroFederalCi(Long registroFederalCi) throws ParseException {
		this.registroFederalCi = registroFederalCi;
		report.adicionaValorReport("registroFederalCi", registroFederalCi);
	}

	public String getNomePai() {
		return nomePai;
	}

	public void setNomePai(String nomePai) throws ParseException {
		this.nomePai = nomePai;
		report.adicionaValorReport("nomePai", nomePai);
	}

	public Integer getSexo() {
		return sexo;
	}

	public void setSexo(Integer sexo) throws ParseException {
		this.sexo = sexo;
		report.adicionaValorReport("sexo", sexo);
	}

	public String getDocumApresentado() {
		return documApresentado;
	}

	public void setDocumApresentado(String documApresentado) throws ParseException {
		this.documApresentado = documApresentado;
		report.adicionaValorReport("documApresentado", documApresentado);
	}

	public Long getCpf() {
		return cpf;
	}

	public void setCpf(Long cpf) throws ParseException {
		this.cpf = cpf;
		report.adicionaValorReport("cpf", cpf);
	}

	public String getUfNaturalidade() {
		return ufNaturalidade;
	}

	public void setUfNaturalidade(String ufNaturalidade) throws ParseException {
		this.ufNaturalidade = ufNaturalidade;
		report.adicionaValorReport("ufNaturalidade", ufNaturalidade);
	}

	public Long getNumeDocumApresent() {
		return numeDocumApresent;
	}

	public void setNumeDocumApresent(Long numeDocumApresent) throws ParseException {
		this.numeDocumApresent = numeDocumApresent;
		report.adicionaValorReport("numeDocumApresent", numeDocumApresent);
	}

	public String getOrgaoExpUf() {
		return orgaoExpUf;
	}

	public void setOrgaoExpUf(String orgaoExpUf) throws ParseException {
		this.orgaoExpUf = orgaoExpUf;
		report.adicionaValorReport("orgaoExpUf", orgaoExpUf);
	}

	public String getProfissao() {
		return profissao;
	}

	public void setProfissao(String profissao) throws ParseException {
		this.profissao = profissao;
		report.adicionaValorReport("profissao", profissao);
	}

	public Integer getGrauInstrucao() {
		return grauInstrucao;
	}

	public void setGrauInstrucao(Integer grauInstrucao) throws ParseException {
		this.grauInstrucao = grauInstrucao;
		report.adicionaValorReport("grauInstrucao", grauInstrucao);
	}

	public String getAvRua() {
		return avRua;
	}

	public void setAvRua(String avRua) throws ParseException {
		this.avRua = avRua;
		report.adicionaValorReport("avRua", avRua);
	}

	public int getNumero() {
		return numero;
	}

	public void setNumero(int l) throws ParseException {
		this.numero = l;
		report.adicionaValorReport("numero", l);
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) throws ParseException {
		this.bairro = bairro;
		report.adicionaValorReport("bairro", bairro);
	}

	public Integer getMunicipio() {
		return municipio;
	}

	public void setMunicipio(Integer municipio) throws ParseException {
		this.municipio = municipio;
		report.adicionaValorReport("municipio", municipio);
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) throws ParseException {
		this.estado = estado;
		report.adicionaValorReport("estado", estado);
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) throws ParseException {
		this.complemento = complemento;
		report.adicionaValorReport("complemento", complemento);
	}

	public Integer getCep() {
		return cep;
	}

	public void setCep(Integer cep) throws ParseException {
		this.cep = cep;
		report.adicionaValorReport("cep", cep);
	}

	public Integer getAltura() {
		return altura;
	}

	public void setAltura(Integer altura) throws ParseException {
		this.altura = altura;
		report.adicionaValorReport("altura", altura);
	}

	public Integer getEstatoCivil() {
		return estatoCivil;
	}

	public void setEstatoCivil(Integer estatoCivil) throws ParseException {
		this.estatoCivil = estatoCivil;
		report.adicionaValorReport("estatoCivil", estatoCivil);
	}

	public Integer getCutis() {
		return cutis;
	}

	public void setCutis(Integer cutis) throws ParseException {
		this.cutis = cutis;
		report.adicionaValorReport("cutis", cutis);
	}

	public Integer getCorCabelos() {
		return corCabelos;
	}

	public void setCorCabelos(Integer corCabelos) throws ParseException {
		this.corCabelos = corCabelos;
		report.adicionaValorReport("corCabelos", corCabelos);
	}

	public Integer getTipoCabelos() {
		return tipoCabelos;
	}

	public void setTipoCabelos(Integer tipoCabelos) throws ParseException {
		this.tipoCabelos = tipoCabelos;
		report.adicionaValorReport("tipoCabelos", tipoCabelos);
	}

	public Integer getCorOlhos() {
		return corOlhos;
	}

	public void setCorOlhos(Integer corOlhos) throws ParseException {
		this.corOlhos = corOlhos;
		report.adicionaValorReport("corOlhos", corOlhos);
	}

	public String getMarcaPartCicatTatuag() {
		return marcaPartCicatTatuag;
	}

	public void setMarcaPartCicatTatuag(String marcaPartCicatTatuag) throws ParseException {
		this.marcaPartCicatTatuag = marcaPartCicatTatuag;
		report.adicionaValorReport("marcaPartCicatTatuag", marcaPartCicatTatuag);
	}

	public String getNomeVitima() {
		return nomeVitima;
	}

	public void setNomeVitima(String nomeVitima) throws ParseException {
		this.nomeVitima = nomeVitima;
		report.adicionaValorReport("nomeVitima", nomeVitima);
	}

	public String getMotivoPrisaoLei() {
		return motivoPrisaoLei;
	}

	public void setMotivoPrisaoLei(String motivoPrisaoLei) throws ParseException {
		this.motivoPrisaoLei = motivoPrisaoLei;
		report.adicionaValorReport("motivoPrisaoLei", motivoPrisaoLei);
	}

}
